﻿/*******************************************************************************
 * AAEngine
 * Copyright (c) 2010 Mike Jarosch
 *
 * Original source PushButton Engine:
 * Copyright (C) 2009 PushButton Labs, LLC
 * For more information see http://www.pushbuttonengine.com
 *
 * This file is licensed under the terms of the MIT license, which is included
 * in the "MIT License.txt" file at the root directory of this SDK.
 ******************************************************************************/

namespace AAEngine.Engine.Core
{
    /// <summary>
    /// The LevelEvent is used by the LevelManager to dispatch information about the loaded
    /// status of levels.
    /// </summary>
    public class LevelEvent : Event
    {
        /// <summary>
        /// This event is dispatched by the LevelManager when it is ready to be used.
        /// </summary>
        public static readonly string LEVEL_READY_EVENT = "AAEngine.Engine.Core.LevelEvent.LEVEL_READY_EVENT";
 
        /// <summary>
        /// This event is dispatched by the LevelManager when a level's data has been loaded.
        /// </summary>
        public static readonly string LEVEL_LOADED_EVENT = "AAEngine.Engine.Core.LevelEvent.LEVEL_LOADED_EVENT";

        /// <summary>
        /// This event is dispatched by the LevelManager when a level's data has been unloaded.
        /// </summary>
        public static readonly string LEVEL_UNLOADED_EVENT = "AAEngine.Engine.Core.LevelEvent.LEVEL_UNLOADED_EVENT";

        /// <summary>
        /// The level associated with this event.
        /// </summary>
        public int Level { get; set; }

        public LevelEvent(string type, int level)
            : base(type)
        {
            Level = level;
        }
    }
}
